<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>AMD</title>
</head>
<body>
        <h1>AMD和CMD最大的区别是对依赖模块的执行时机处理不同，而不是加载的时机或者方式不同，二者皆为异步加载模块。</h1>
        <h2>AMD依赖前置，js可以方便知道依赖模块是谁，立即加载；而CMD就近依赖，需要使用把模块变为字符串解析一遍才知道
            依赖了那些模块，这也是很多人诟病CMD的一点，牺牲性能来带来开发的便利性，实际上解析模块用的时间短到可以忽略。</h2>
    <script type="text/javascript">
     /*
      *AMD 异步模块定义
      *asynchronous Module Definition
      *
      **/
//     1.定义模块module.js
        define(['dependency'],function () {
            var name='Byron';
            function printName() {
                console.log(name);
            }
            return {
                printName:printName
            };
        });
//        加载模块
        /*require(['module'],function (my) {
            my.printName();
        })*/
     require(['dependency'],function (my) {
         my.printName();
     })
    </script>
</body>
</html>